package timbap.visualizer.impl.context;

import oscP5.OscP5;
import processing.core.PApplet;
import timbap.visualizer.api.context.AbstractPluginContext;
import timbap.visualizer.api.context.Configuration;
import timbap.visualizer.api.context.PluginContext;
import timbap.visualizer.api.context.messaging.MessagingManager;
import timbap.visualizer.api.context.playlist.PlaylistManager;
import timbap.visualizer.api.context.recorditems.RecordItemManager;
import timbap.visualizer.api.context.textures.TextureCacheManager;

public class OscPluginContextImpl extends AbstractPluginContext<OscP5> {

    public OscPluginContextImpl(PApplet pP5Applet,
                                    Configuration pCfg,
                                    PlaylistManager pPlaylistManager,
                                    RecordItemManager pRecordItemManager,
                                    TextureCacheManager pTextureCacheManager,
                                    MessagingManager<OscP5> pMessagingManager) {
        super(pP5Applet, pCfg, pPlaylistManager, pRecordItemManager, pTextureCacheManager, pMessagingManager);
    }

    public PluginContext<OscP5> cloneContext() {
        return new OscPluginContextImpl(getP5Applet(),
                                            getCfg(),
                                            getPlaylistManager(),
                                            getRecordItemManager(),
                                            getTextureCacheManager(),
                                            getMessagingManager());
    }



}